package com.zdkj.edge.door.demo.model.api;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 获取设备列表响应数据结构（单条设备信息）
 */
@Data
public class ApiDeviceListResponse implements Serializable {

  /**
   * 主键 ID
   */
  private Integer id;

  /**
   * 协议类型（0=http，1=mqtt）
   */
  private Integer protocolType;

  /**
   * 是否支持测温（0=不支持，1=支持）
   */
  private Integer isTemperature;

  /**
   * 设备名称
   */
  private String deviceName;

  /**
   * 设备所属地点 ID
   */
  private String device_LocationId;

  /**
   * 设备所属地点名称
   */
  private String device_LocationName;

  /**
   * 所属模块（接口中为 string，但也可能是 int，请注意）
   */
  private String moduleType;

  /**
   * 设备 IP 地址
   */
  private String deviceIP;

  /**
   * 登录用户名
   */
  private String userName;

  /**
   * 登录密码
   */
  private String pwd;

  /**
   * 设备标识
   */
  private Integer deviceID;

  /**
   * 设备名称（重复字段）
   */
  private String name;

  /**
   * 服务端 IP
   */
  private String serverIP;

  /**
   * 服务端端口
   */
  private Integer serverPort;

  /**
   * 心跳间隔（秒），默认30秒
   */
  private Integer beatInterval;

  /**
   * 是否开启断点续传（0=否，1=是）
   */
  private Integer resumefromBreakpoint;

  /**
   * 心跳时间
   */
  @JSONField(format = "yyyy-MM-dd'T'HH:mm:ss.SSS")
  private LocalDateTime beatTime;

  /**
   * 是否在线
   */
  private Boolean isLine;
}
